package videogest;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Esta clase es una clase abstracta, ya que tendra los metodos de alta y modificacion
 * para el envio a base de datos como metodos abstractos.
 * Esta clase contendrá los atributos comunes a un sujeto como nombre, direccion, telefono
 * email y uno boolean de baja.
 * @author Jesus FC
 * @version 1.0
 */
public abstract class Sujeto {
    private String nombre;
    private String direccion;
    private String telefono;
    private String email;
    private boolean baja;

    public Sujeto(String nombre, String direccion, String telefono, String email){
        this.nombre = nombre;
        this.direccion = direccion;
        this.telefono = telefono;
        this.email = email;
        this.baja = false;
    }

    public Sujeto(String nombre, String direccion, String telefono, String email, boolean baja){
        this.nombre = nombre;
        this.direccion = direccion;
        this.telefono = telefono;
        this.email = email;
        this.baja = baja;
    }

    public void setEmail(String email) {
        if(!email.equals("")){
            this.email = email;
        }
    }

    public String getEmail() {
        return email;
    }

    public void setBaja(boolean baja) {
        this.baja = baja;
    }

    public boolean isBaja() {
        return baja;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        if(!direccion.equals("")){
            this.direccion = direccion;
        }
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        if(!nombre.equals("")){
            this.nombre = nombre;
        }
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        if(!nombre.equals("")){
            this.telefono = telefono;
        }
    }

    /**
     * Este metodo enviara a la base de datos un nuevo alta, osea ser, creara un nuevo
     * registro en la base de datos.
     */
    public abstract void alta();
    
    /**
     * Este metodo enviara a la base de datos una modificacion, osea ser, modificara
     * un registro de la base de datos
     */
    public abstract void modificar();
}
